package com.zhang.service;

import com.zhang.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 张立松
 * @since 2022-12-22
 */
public interface SysUserService extends IService<SysUser> {

    SysUser getByUsername(String username); //获取用户信息

    String getAuthorityInfo(Long userId); //获取用户权限信息（角色、菜单权限）

    void clearUserAuthorityInfo(String username);   //清除缓存中用户的权限信息

    void clearUserAuthorityInfoByRoleId(Long roleId);   //角色权限改变时,清除缓存中所有拥有此角色的用户权限信息

    void clearUserAuthorityInfoByMenuId(Long menuId);   //菜单信息(如菜单权限编码)改变时，查出拥有此菜单的所有角色，再清除缓存中拥有这些角色的所有用户权限信息

    void getUserRoles(SysUser user);    //获取用户的角色信息
}
